<!-- HTML header for doxygen 1.8.3.1-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<title>Nordic Thingy:52 v2.2.0 : GPIO extender</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="extra_stylesheet_offline.css" rel="stylesheet" type="text/css"/>
<link href="nordic.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0" width="100%" class="blank">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Nordic Semiconductor" src="nordic_small.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">Nordic Thingy:52 v2.2.0
   </div>
  </td>
 </tr>
 </tbody>
</table>
<script>
var url=window.location.href.split("/").reverse()[1];
var validLinks= ["nrf5","s130","s132","s212","s332"];
var index;
for (index = 0; index < validLinks.length; ++index) {
   if ( url.indexOf(validLinks[index]) !== -1 ) {
      document.getElementById(validLinks[index]).setAttribute('class', 'doclinks docselected');
   };
};
</script>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('group__gpio__ext__driver.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#groups">Modules</a> &#124;
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">GPIO extender<div class="ingroups"><a class="el" href="group__drivers.html">Drivers</a></div></div>  </div>
</div><!--header-->
<div class="contents">

<p>GPIO extender API.  
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="groups"></a>
Modules</h2></td></tr>
<tr class="memitem:group__gpio__ext__driver__led"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio__ext__driver__led.html">GPIO extender LED driver</a></td></tr>
<tr class="memdesc:group__gpio__ext__driver__led"><td class="mdescLeft">&#160;</td><td class="mdescRight">GPIO extender LED driver API. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:group__sx1509__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sx1509__driver.html">SX1509 GPIO extender driver</a></td></tr>
<tr class="memdesc:group__sx1509__driver"><td class="mdescLeft">&#160;</td><td class="mdescRight">SX1509 GPIO extender API. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdrv__ext__gpio__init__t.html">drv_ext_gpio_init_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">GPIO extender driver configuration.  <a href="structdrv__ext__gpio__init__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ga3c43aaceaa126695e61f198aae2e5ac2"><td class="memItemLeft" align="right" valign="top"><a id="ga3c43aaceaa126695e61f198aae2e5ac2"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio__ext__driver.html#ga3c43aaceaa126695e61f198aae2e5ac2">DRV_EXT_GPIO_NUM_PINS_TOTAL</a>&#160;&#160;&#160;(<a class="el" href="group__gpio__ext__driver.html#ga3a252a342c72181424b641d24c1a0a8a">DRV_EXT_GPIO_PIN_HIGHEST_ID</a> + 1)</td></tr>
<tr class="memdesc:ga3c43aaceaa126695e61f198aae2e5ac2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of pins total. <br /></td></tr>
<tr class="separator:ga3c43aaceaa126695e61f198aae2e5ac2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3a252a342c72181424b641d24c1a0a8a"><td class="memItemLeft" align="right" valign="top"><a id="ga3a252a342c72181424b641d24c1a0a8a"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio__ext__driver.html#ga3a252a342c72181424b641d24c1a0a8a">DRV_EXT_GPIO_PIN_HIGHEST_ID</a>&#160;&#160;&#160;DRV_SX1509_DATA_PIN15_Pos</td></tr>
<tr class="memdesc:ga3a252a342c72181424b641d24c1a0a8a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Highest pin ID. <br /></td></tr>
<tr class="separator:ga3a252a342c72181424b641d24c1a0a8a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:ga99fb83031ce9923c84392b4e92f956b5"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group__gpio__ext__driver.html#gga99fb83031ce9923c84392b4e92f956b5a2d90f34a7f20a047d96e539e43c154fe">DRV_EXT_GPIO_STATUS_CODE_SUCCESS</a> = NRF_SUCCESS, 
<a class="el" href="group__gpio__ext__driver.html#gga99fb83031ce9923c84392b4e92f956b5a2f754996ac4245a000d9c3a5f4659a5c">DRV_EXT_GPIO_STATUS_CODE_INVALID_PARAM</a>, 
<a class="el" href="group__gpio__ext__driver.html#gga99fb83031ce9923c84392b4e92f956b5a5cab256f6a939fdf7fd02676f6150bd4">DRV_EXT_GPIO_STATUS_CODE_INVALID_PIN</a>
 }<tr class="memdesc:ga99fb83031ce9923c84392b4e92f956b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">GPIO extender status codes.  <a href="group__gpio__ext__driver.html#ga99fb83031ce9923c84392b4e92f956b5">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:ga99fb83031ce9923c84392b4e92f956b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4e01a961018e2bbc8f4d194ddafefc32"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio__ext__driver.html#ga4e01a961018e2bbc8f4d194ddafefc32">drv_ext_gpio_pin_dir_t</a> { <a class="el" href="group__gpio__ext__driver.html#gga4e01a961018e2bbc8f4d194ddafefc32ae4ff561b467c9c1f488d784030db4bca">DRV_EXT_GPIO_PIN_DIR_OUTPUT</a>, 
<a class="el" href="group__gpio__ext__driver.html#gga4e01a961018e2bbc8f4d194ddafefc32a6a6a90b611846264909716803bfdb778">DRV_EXT_GPIO_PIN_DIR_INPUT</a>
 }<tr class="memdesc:ga4e01a961018e2bbc8f4d194ddafefc32"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pin direction definitions.  <a href="group__gpio__ext__driver.html#ga4e01a961018e2bbc8f4d194ddafefc32">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:ga4e01a961018e2bbc8f4d194ddafefc32"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga298fc5e2bd579d41df46fbe95c7e3f70"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio__ext__driver.html#ga298fc5e2bd579d41df46fbe95c7e3f70">drv_ext_gpio_pin_drive_type_t</a> { <a class="el" href="group__gpio__ext__driver.html#gga298fc5e2bd579d41df46fbe95c7e3f70ae2070a9bc805e6b64e6d81e0a3848af7">DRV_EXT_GPIO_PIN_DRIVE_PUSHPULL</a>, 
<a class="el" href="group__gpio__ext__driver.html#gga298fc5e2bd579d41df46fbe95c7e3f70a58fe906f8ff49bedc6f0f3990e210df5">DRV_EXT_GPIO_PIN_DRIVE_OPENDRAIN</a>
 }<tr class="memdesc:ga298fc5e2bd579d41df46fbe95c7e3f70"><td class="mdescLeft">&#160;</td><td class="mdescRight">Push-pull or open drain operation.  <a href="group__gpio__ext__driver.html#ga298fc5e2bd579d41df46fbe95c7e3f70">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:ga298fc5e2bd579d41df46fbe95c7e3f70"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaab05fba3b092c125be6ebddbb311fac5"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio__ext__driver.html#gaab05fba3b092c125be6ebddbb311fac5">drv_ext_gpio_pin_input_buf_t</a> { <a class="el" href="group__gpio__ext__driver.html#ggaab05fba3b092c125be6ebddbb311fac5ac48470d1b42e6aa0674130260f8862a2">DRV_EXT_GPIO_PIN_INPUT_BUF_ENABLED</a>, 
<a class="el" href="group__gpio__ext__driver.html#ggaab05fba3b092c125be6ebddbb311fac5a3e9a7f8f2d71c3bdb75138ea98fe3700">DRV_EXT_GPIO_PIN_INPUT_BUF_DISABLED</a>
 }<tr class="memdesc:gaab05fba3b092c125be6ebddbb311fac5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Connection of input buffer.  <a href="group__gpio__ext__driver.html#gaab05fba3b092c125be6ebddbb311fac5">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:gaab05fba3b092c125be6ebddbb311fac5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3a7c706b09e3548dc18e9ee2ddbb9f6e"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio__ext__driver.html#ga3a7c706b09e3548dc18e9ee2ddbb9f6e">drv_ext_gpio_pin_pull_t</a> { <a class="el" href="group__gpio__ext__driver.html#gga3a7c706b09e3548dc18e9ee2ddbb9f6eab000593ca4befa0ce51ab25df896b7f4">DRV_EXT_GPIO_PIN_NOPULL</a>, 
<a class="el" href="group__gpio__ext__driver.html#gga3a7c706b09e3548dc18e9ee2ddbb9f6ea4622336a01a5fbd7d962f77235bc8479">DRV_EXT_GPIO_PIN_PULLDOWN</a>, 
<a class="el" href="group__gpio__ext__driver.html#gga3a7c706b09e3548dc18e9ee2ddbb9f6eaef93789ea5e580c75ccf4e8515bc0492">DRV_EXT_GPIO_PIN_PULLUP</a>
 }<tr class="memdesc:ga3a7c706b09e3548dc18e9ee2ddbb9f6e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pin to be pulled down, up, or no-pull.  <a href="group__gpio__ext__driver.html#ga3a7c706b09e3548dc18e9ee2ddbb9f6e">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:ga3a7c706b09e3548dc18e9ee2ddbb9f6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga013d9b95bc909e15067abb9d7d5a1c2c"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio__ext__driver.html#ga013d9b95bc909e15067abb9d7d5a1c2c">drv_ext_gpio_pin_slew_rate_t</a> { <a class="el" href="group__gpio__ext__driver.html#gga013d9b95bc909e15067abb9d7d5a1c2ca30f53070c42ee71911b7aa952cd9972e">DRV_EXT_GPIO_PIN_INCREASED_SLEWRATE_DISABLED</a>, 
<a class="el" href="group__gpio__ext__driver.html#gga013d9b95bc909e15067abb9d7d5a1c2ca6166c1f241e45da8166cdee7cc5fd205">DRV_EXT_GPIO_PIN_INCREASED_SLEWRATE_ENABLED</a>
 }<tr class="memdesc:ga013d9b95bc909e15067abb9d7d5a1c2c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Regular or increased slew rate.  <a href="group__gpio__ext__driver.html#ga013d9b95bc909e15067abb9d7d5a1c2c">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:ga013d9b95bc909e15067abb9d7d5a1c2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga1a697ab2f85261ab1e4222e32904d4ea"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio__ext__driver.html#ga1a697ab2f85261ab1e4222e32904d4ea">drv_ext_gpio_cfg</a> (uint32_t pin_number, <a class="el" href="group__gpio__ext__driver.html#ga4e01a961018e2bbc8f4d194ddafefc32">drv_ext_gpio_pin_dir_t</a> dir, <a class="el" href="group__gpio__ext__driver.html#gaab05fba3b092c125be6ebddbb311fac5">drv_ext_gpio_pin_input_buf_t</a> input_buf, <a class="el" href="group__gpio__ext__driver.html#ga3a7c706b09e3548dc18e9ee2ddbb9f6e">drv_ext_gpio_pin_pull_t</a> pull_config, <a class="el" href="group__gpio__ext__driver.html#ga298fc5e2bd579d41df46fbe95c7e3f70">drv_ext_gpio_pin_drive_type_t</a> drive_type, <a class="el" href="group__gpio__ext__driver.html#ga013d9b95bc909e15067abb9d7d5a1c2c">drv_ext_gpio_pin_slew_rate_t</a> slew_rate)</td></tr>
<tr class="memdesc:ga1a697ab2f85261ab1e4222e32904d4ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pin configuration function.  <a href="#ga1a697ab2f85261ab1e4222e32904d4ea">More...</a><br /></td></tr>
<tr class="separator:ga1a697ab2f85261ab1e4222e32904d4ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga52b0cec76bd39552f006f730d6e16e01"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio__ext__driver.html#ga52b0cec76bd39552f006f730d6e16e01">drv_ext_gpio_cfg_input</a> (uint32_t pin_number, <a class="el" href="group__gpio__ext__driver.html#ga3a7c706b09e3548dc18e9ee2ddbb9f6e">drv_ext_gpio_pin_pull_t</a> pull_config)</td></tr>
<tr class="memdesc:ga52b0cec76bd39552f006f730d6e16e01"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function for configuring the given GPIO pin number as input with given initial value set, hiding inner details.  <a href="#ga52b0cec76bd39552f006f730d6e16e01">More...</a><br /></td></tr>
<tr class="separator:ga52b0cec76bd39552f006f730d6e16e01"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2a386fd38af322e40b09714bd31a9cc3"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio__ext__driver.html#ga2a386fd38af322e40b09714bd31a9cc3">drv_ext_gpio_cfg_output</a> (uint32_t pin_number)</td></tr>
<tr class="memdesc:ga2a386fd38af322e40b09714bd31a9cc3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function for configuring the given GPIO pin_number as output with given initial value set, hiding inner details.  <a href="#ga2a386fd38af322e40b09714bd31a9cc3">More...</a><br /></td></tr>
<tr class="separator:ga2a386fd38af322e40b09714bd31a9cc3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4ca1453654770520248c139108c9ceeb"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio__ext__driver.html#ga4ca1453654770520248c139108c9ceeb">drv_ext_gpio_init</a> (<a class="el" href="structdrv__ext__gpio__init__t.html">drv_ext_gpio_init_t</a> const *const p_init, bool on_init_reset)</td></tr>
<tr class="memdesc:ga4ca1453654770520248c139108c9ceeb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function for initializing the GPIO extender.  <a href="#ga4ca1453654770520248c139108c9ceeb">More...</a><br /></td></tr>
<tr class="separator:ga4ca1453654770520248c139108c9ceeb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4ab9ec184388565f5ff61997ffbba75d"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio__ext__driver.html#ga4ab9ec184388565f5ff61997ffbba75d">drv_ext_gpio_pin_clear</a> (uint32_t pin_number)</td></tr>
<tr class="memdesc:ga4ab9ec184388565f5ff61997ffbba75d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function for clearing a GPIO pin.  <a href="#ga4ab9ec184388565f5ff61997ffbba75d">More...</a><br /></td></tr>
<tr class="separator:ga4ab9ec184388565f5ff61997ffbba75d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad57e9d2117b6e2e6c3bd0db939258e7f"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio__ext__driver.html#gad57e9d2117b6e2e6c3bd0db939258e7f">drv_ext_gpio_pin_dir_modify</a> (uint32_t pin_number, <a class="el" href="group__gpio__ext__driver.html#ga4e01a961018e2bbc8f4d194ddafefc32">drv_ext_gpio_pin_dir_t</a> direction)</td></tr>
<tr class="memdesc:gad57e9d2117b6e2e6c3bd0db939258e7f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function for setting the direction of a GPIO pin.  <a href="#gad57e9d2117b6e2e6c3bd0db939258e7f">More...</a><br /></td></tr>
<tr class="separator:gad57e9d2117b6e2e6c3bd0db939258e7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga44386cb460d7c515406c719470ca0084"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio__ext__driver.html#ga44386cb460d7c515406c719470ca0084">drv_ext_gpio_pin_drive_type_modify</a> (uint32_t pin_number, <a class="el" href="group__gpio__ext__driver.html#ga298fc5e2bd579d41df46fbe95c7e3f70">drv_ext_gpio_pin_drive_type_t</a> drive_type)</td></tr>
<tr class="memdesc:ga44386cb460d7c515406c719470ca0084"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function for setting the drive type a given GPIO pin.  <a href="#ga44386cb460d7c515406c719470ca0084">More...</a><br /></td></tr>
<tr class="separator:ga44386cb460d7c515406c719470ca0084"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga611205353ef04cb150f45b29ee6bb3ff"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio__ext__driver.html#ga611205353ef04cb150f45b29ee6bb3ff">drv_ext_gpio_pin_input_buffer_modify</a> (uint32_t pin_number, <a class="el" href="group__gpio__ext__driver.html#gaab05fba3b092c125be6ebddbb311fac5">drv_ext_gpio_pin_input_buf_t</a> input_buf)</td></tr>
<tr class="memdesc:ga611205353ef04cb150f45b29ee6bb3ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function for enabling and disabling the input buffer.  <a href="#ga611205353ef04cb150f45b29ee6bb3ff">More...</a><br /></td></tr>
<tr class="separator:ga611205353ef04cb150f45b29ee6bb3ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6fa5f94c6367374e891905663f9bb0d6"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio__ext__driver.html#ga6fa5f94c6367374e891905663f9bb0d6">drv_ext_gpio_pin_read</a> (uint32_t pin_number, uint32_t *const p_pin)</td></tr>
<tr class="memdesc:ga6fa5f94c6367374e891905663f9bb0d6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function for reading the input level of a GPIO pin.  <a href="#ga6fa5f94c6367374e891905663f9bb0d6">More...</a><br /></td></tr>
<tr class="separator:ga6fa5f94c6367374e891905663f9bb0d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8ca1b3898f246858846a5442a53cf795"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio__ext__driver.html#ga8ca1b3898f246858846a5442a53cf795">drv_ext_gpio_pin_set</a> (uint32_t pin_number)</td></tr>
<tr class="memdesc:ga8ca1b3898f246858846a5442a53cf795"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function for setting a GPIO pin.  <a href="#ga8ca1b3898f246858846a5442a53cf795">More...</a><br /></td></tr>
<tr class="separator:ga8ca1b3898f246858846a5442a53cf795"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga54109e128b516751b40c06362bbf4df5"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio__ext__driver.html#ga54109e128b516751b40c06362bbf4df5">drv_ext_gpio_pin_slew_rate_modify</a> (uint32_t pin_number, <a class="el" href="group__gpio__ext__driver.html#ga013d9b95bc909e15067abb9d7d5a1c2c">drv_ext_gpio_pin_slew_rate_t</a> slew_rate)</td></tr>
<tr class="memdesc:ga54109e128b516751b40c06362bbf4df5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function for enabling or disabling increased slew rate for a given GPIO pin.  <a href="#ga54109e128b516751b40c06362bbf4df5">More...</a><br /></td></tr>
<tr class="separator:ga54109e128b516751b40c06362bbf4df5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac1face07ef83c4788bf996cdaba3682e"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio__ext__driver.html#gac1face07ef83c4788bf996cdaba3682e">drv_ext_gpio_pin_toggle</a> (uint32_t pin_number)</td></tr>
<tr class="memdesc:gac1face07ef83c4788bf996cdaba3682e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function for toggling a GPIO pin.  <a href="#gac1face07ef83c4788bf996cdaba3682e">More...</a><br /></td></tr>
<tr class="separator:gac1face07ef83c4788bf996cdaba3682e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad0b7b0927890e4de4c9816705d653a92"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio__ext__driver.html#gad0b7b0927890e4de4c9816705d653a92">drv_ext_gpio_pin_write</a> (uint32_t pin_number, uint32_t value)</td></tr>
<tr class="memdesc:gad0b7b0927890e4de4c9816705d653a92"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function for writing a value to a GPIO pin.  <a href="#gad0b7b0927890e4de4c9816705d653a92">More...</a><br /></td></tr>
<tr class="separator:gad0b7b0927890e4de4c9816705d653a92"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae583a124772f8ec09e208159175f7b45"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio__ext__driver.html#gae583a124772f8ec09e208159175f7b45">drv_ext_gpio_pins_clear</a> (uint32_t pin_mask)</td></tr>
<tr class="memdesc:gae583a124772f8ec09e208159175f7b45"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function for clearing GPIO pins.  <a href="#gae583a124772f8ec09e208159175f7b45">More...</a><br /></td></tr>
<tr class="separator:gae583a124772f8ec09e208159175f7b45"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaec15416078c5485936252cc49dd4607c"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio__ext__driver.html#gaec15416078c5485936252cc49dd4607c">drv_ext_gpio_pins_read</a> (uint32_t *const p_pins)</td></tr>
<tr class="memdesc:gaec15416078c5485936252cc49dd4607c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function for reading the input level of all GPIO pins.  <a href="#gaec15416078c5485936252cc49dd4607c">More...</a><br /></td></tr>
<tr class="separator:gaec15416078c5485936252cc49dd4607c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae77caa26e459b01f7c1d8772363e18c7"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio__ext__driver.html#gae77caa26e459b01f7c1d8772363e18c7">drv_ext_gpio_pins_set</a> (uint32_t pin_mask)</td></tr>
<tr class="memdesc:gae77caa26e459b01f7c1d8772363e18c7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function for setting GPIO pins.  <a href="#gae77caa26e459b01f7c1d8772363e18c7">More...</a><br /></td></tr>
<tr class="separator:gae77caa26e459b01f7c1d8772363e18c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga47ef1db9236ed937309879823e7c074f"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio__ext__driver.html#ga47ef1db9236ed937309879823e7c074f">drv_ext_gpio_pins_toggle</a> (uint32_t pin_mask)</td></tr>
<tr class="memdesc:ga47ef1db9236ed937309879823e7c074f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function for toggling GPIO pins.  <a href="#ga47ef1db9236ed937309879823e7c074f">More...</a><br /></td></tr>
<tr class="separator:ga47ef1db9236ed937309879823e7c074f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacdecb362e6e4b89cdf53b10451772e08"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio__ext__driver.html#gacdecb362e6e4b89cdf53b10451772e08">drv_ext_gpio_reg_data_init</a> (uint32_t data)</td></tr>
<tr class="memdesc:gacdecb362e6e4b89cdf53b10451772e08"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function for setting all the RegData registers at the same time.  <a href="#gacdecb362e6e4b89cdf53b10451772e08">More...</a><br /></td></tr>
<tr class="separator:gacdecb362e6e4b89cdf53b10451772e08"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaba8228cfe403cbc7e4bd2a3fe3fb7c1e"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio__ext__driver.html#gaba8228cfe403cbc7e4bd2a3fe3fb7c1e">drv_ext_gpio_reset</a> (void)</td></tr>
<tr class="memdesc:gaba8228cfe403cbc7e4bd2a3fe3fb7c1e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function for resetting all the registers of the GPIO extender to their default values.  <a href="#gaba8228cfe403cbc7e4bd2a3fe3fb7c1e">More...</a><br /></td></tr>
<tr class="separator:gaba8228cfe403cbc7e4bd2a3fe3fb7c1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>GPIO extender API. </p>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="ga99fb83031ce9923c84392b4e92f956b5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga99fb83031ce9923c84392b4e92f956b5">&#9670;&nbsp;</a></span>anonymous enum</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>GPIO extender status codes. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="gga99fb83031ce9923c84392b4e92f956b5a2d90f34a7f20a047d96e539e43c154fe"></a>DRV_EXT_GPIO_STATUS_CODE_SUCCESS&#160;</td><td class="fielddoc"><p>Successfull. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga99fb83031ce9923c84392b4e92f956b5a2f754996ac4245a000d9c3a5f4659a5c"></a>DRV_EXT_GPIO_STATUS_CODE_INVALID_PARAM&#160;</td><td class="fielddoc"><p>Invalid parameters. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga99fb83031ce9923c84392b4e92f956b5a5cab256f6a939fdf7fd02676f6150bd4"></a>DRV_EXT_GPIO_STATUS_CODE_INVALID_PIN&#160;</td><td class="fielddoc"><p>Invalid GPIO pin or pin mask selected. </p>
</td></tr>
</table>

</div>
</div>
<a id="ga4e01a961018e2bbc8f4d194ddafefc32"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga4e01a961018e2bbc8f4d194ddafefc32">&#9670;&nbsp;</a></span>drv_ext_gpio_pin_dir_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__gpio__ext__driver.html#ga4e01a961018e2bbc8f4d194ddafefc32">drv_ext_gpio_pin_dir_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Pin direction definitions. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="gga4e01a961018e2bbc8f4d194ddafefc32ae4ff561b467c9c1f488d784030db4bca"></a>DRV_EXT_GPIO_PIN_DIR_OUTPUT&#160;</td><td class="fielddoc"><p>Output. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga4e01a961018e2bbc8f4d194ddafefc32a6a6a90b611846264909716803bfdb778"></a>DRV_EXT_GPIO_PIN_DIR_INPUT&#160;</td><td class="fielddoc"><p>Input. </p>
</td></tr>
</table>

</div>
</div>
<a id="ga298fc5e2bd579d41df46fbe95c7e3f70"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga298fc5e2bd579d41df46fbe95c7e3f70">&#9670;&nbsp;</a></span>drv_ext_gpio_pin_drive_type_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__gpio__ext__driver.html#ga298fc5e2bd579d41df46fbe95c7e3f70">drv_ext_gpio_pin_drive_type_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Push-pull or open drain operation. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="gga298fc5e2bd579d41df46fbe95c7e3f70ae2070a9bc805e6b64e6d81e0a3848af7"></a>DRV_EXT_GPIO_PIN_DRIVE_PUSHPULL&#160;</td><td class="fielddoc"><p>Standard push-pull operation. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga298fc5e2bd579d41df46fbe95c7e3f70a58fe906f8ff49bedc6f0f3990e210df5"></a>DRV_EXT_GPIO_PIN_DRIVE_OPENDRAIN&#160;</td><td class="fielddoc"><p>Open drain. </p>
</td></tr>
</table>

</div>
</div>
<a id="gaab05fba3b092c125be6ebddbb311fac5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaab05fba3b092c125be6ebddbb311fac5">&#9670;&nbsp;</a></span>drv_ext_gpio_pin_input_buf_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__gpio__ext__driver.html#gaab05fba3b092c125be6ebddbb311fac5">drv_ext_gpio_pin_input_buf_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Connection of input buffer. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ggaab05fba3b092c125be6ebddbb311fac5ac48470d1b42e6aa0674130260f8862a2"></a>DRV_EXT_GPIO_PIN_INPUT_BUF_ENABLED&#160;</td><td class="fielddoc"><p>Connect input buffer. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaab05fba3b092c125be6ebddbb311fac5a3e9a7f8f2d71c3bdb75138ea98fe3700"></a>DRV_EXT_GPIO_PIN_INPUT_BUF_DISABLED&#160;</td><td class="fielddoc"><p>Disconnect input buffer. </p>
</td></tr>
</table>

</div>
</div>
<a id="ga3a7c706b09e3548dc18e9ee2ddbb9f6e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga3a7c706b09e3548dc18e9ee2ddbb9f6e">&#9670;&nbsp;</a></span>drv_ext_gpio_pin_pull_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__gpio__ext__driver.html#ga3a7c706b09e3548dc18e9ee2ddbb9f6e">drv_ext_gpio_pin_pull_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Pin to be pulled down, up, or no-pull. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="gga3a7c706b09e3548dc18e9ee2ddbb9f6eab000593ca4befa0ce51ab25df896b7f4"></a>DRV_EXT_GPIO_PIN_NOPULL&#160;</td><td class="fielddoc"><p>No pin pullup or pulldown. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga3a7c706b09e3548dc18e9ee2ddbb9f6ea4622336a01a5fbd7d962f77235bc8479"></a>DRV_EXT_GPIO_PIN_PULLDOWN&#160;</td><td class="fielddoc"><p>Pin pulldown resistor enabled. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga3a7c706b09e3548dc18e9ee2ddbb9f6eaef93789ea5e580c75ccf4e8515bc0492"></a>DRV_EXT_GPIO_PIN_PULLUP&#160;</td><td class="fielddoc"><p>Pin pullup resistor enabled. </p>
</td></tr>
</table>

</div>
</div>
<a id="ga013d9b95bc909e15067abb9d7d5a1c2c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga013d9b95bc909e15067abb9d7d5a1c2c">&#9670;&nbsp;</a></span>drv_ext_gpio_pin_slew_rate_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__gpio__ext__driver.html#ga013d9b95bc909e15067abb9d7d5a1c2c">drv_ext_gpio_pin_slew_rate_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Regular or increased slew rate. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="gga013d9b95bc909e15067abb9d7d5a1c2ca30f53070c42ee71911b7aa952cd9972e"></a>DRV_EXT_GPIO_PIN_INCREASED_SLEWRATE_DISABLED&#160;</td><td class="fielddoc"><p>No slew rate alteration. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga013d9b95bc909e15067abb9d7d5a1c2ca6166c1f241e45da8166cdee7cc5fd205"></a>DRV_EXT_GPIO_PIN_INCREASED_SLEWRATE_ENABLED&#160;</td><td class="fielddoc"><p>Increased slew rate. </p>
</td></tr>
</table>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="ga1a697ab2f85261ab1e4222e32904d4ea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga1a697ab2f85261ab1e4222e32904d4ea">&#9670;&nbsp;</a></span>drv_ext_gpio_cfg()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t drv_ext_gpio_cfg </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>pin_number</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__gpio__ext__driver.html#ga4e01a961018e2bbc8f4d194ddafefc32">drv_ext_gpio_pin_dir_t</a>&#160;</td>
          <td class="paramname"><em>dir</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__gpio__ext__driver.html#gaab05fba3b092c125be6ebddbb311fac5">drv_ext_gpio_pin_input_buf_t</a>&#160;</td>
          <td class="paramname"><em>input_buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__gpio__ext__driver.html#ga3a7c706b09e3548dc18e9ee2ddbb9f6e">drv_ext_gpio_pin_pull_t</a>&#160;</td>
          <td class="paramname"><em>pull_config</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__gpio__ext__driver.html#ga298fc5e2bd579d41df46fbe95c7e3f70">drv_ext_gpio_pin_drive_type_t</a>&#160;</td>
          <td class="paramname"><em>drive_type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__gpio__ext__driver.html#ga013d9b95bc909e15067abb9d7d5a1c2c">drv_ext_gpio_pin_slew_rate_t</a>&#160;</td>
          <td class="paramname"><em>slew_rate</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Pin configuration function. </p>
<dl class="section note"><dt>Note</dt><dd>The main pin configuration function. This function allows to set any aspect in PIN_CNF register.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">pin_number</td><td>Specifies the pin number (Allowed values: 0 to DRV_EXT_GPIO_PIN_HIGHEST_ID). </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">dir</td><td>Pin direction. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">input_buf</td><td>Connect or disconnect input buffer. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">pull_config</td><td>Pull configuration. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">drive_type</td><td>Push-pull or open drain. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">slew_rate</td><td>Normal or increased slew rate.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>DRV_EXT_GPIO_STATUS_CODE_SUCCESS If the call was successful. </dd>
<dd>
DRV_EXT_GPIO_STATUS_CODE_INVALID_PARAM Invalid parameters supplied. </dd>
<dd>
DRV_EXT_GPIO_STATUS_CODE_INVALID_PIN Pin number not available. </dd>
<dd>
Other codes from the underlying driver. </dd></dl>

</div>
</div>
<a id="ga52b0cec76bd39552f006f730d6e16e01"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga52b0cec76bd39552f006f730d6e16e01">&#9670;&nbsp;</a></span>drv_ext_gpio_cfg_input()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t drv_ext_gpio_cfg_input </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>pin_number</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__gpio__ext__driver.html#ga3a7c706b09e3548dc18e9ee2ddbb9f6e">drv_ext_gpio_pin_pull_t</a>&#160;</td>
          <td class="paramname"><em>pull_config</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Function for configuring the given GPIO pin number as input with given initial value set, hiding inner details. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">pin_number</td><td>The pin number (allowed values 0-DRV_EXT_GPIO_PIN_HIGHEST_ID). </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">pull_config</td><td>State of the pin range pull resistor (no pull, pulled down, or pulled high).</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>DRV_EXT_GPIO_STATUS_CODE_SUCCESS If the call was successful. </dd>
<dd>
DRV_EXT_GPIO_STATUS_CODE_INVALID_PARAM Invalid parameters supplied. </dd>
<dd>
DRV_EXT_GPIO_STATUS_CODE_INVALID_PIN Pin number not available. </dd>
<dd>
Other codes from the underlying driver. </dd></dl>

</div>
</div>
<a id="ga2a386fd38af322e40b09714bd31a9cc3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga2a386fd38af322e40b09714bd31a9cc3">&#9670;&nbsp;</a></span>drv_ext_gpio_cfg_output()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t drv_ext_gpio_cfg_output </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>pin_number</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Function for configuring the given GPIO pin_number as output with given initial value set, hiding inner details. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">pin_number</td><td>The pin number (allowed values 0-DRV_EXT_GPIO_PIN_HIGHEST_ID).</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>DRV_EXT_GPIO_STATUS_CODE_SUCCESS If the call was successful. </dd>
<dd>
DRV_EXT_GPIO_STATUS_CODE_INVALID_PIN Pin number not available. </dd>
<dd>
Other codes from the underlying driver. </dd></dl>

</div>
</div>
<a id="ga4ca1453654770520248c139108c9ceeb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga4ca1453654770520248c139108c9ceeb">&#9670;&nbsp;</a></span>drv_ext_gpio_init()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t drv_ext_gpio_init </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structdrv__ext__gpio__init__t.html">drv_ext_gpio_init_t</a> const *const&#160;</td>
          <td class="paramname"><em>p_init</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>on_init_reset</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Function for initializing the GPIO extender. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">p_init</td><td>Configuration struct. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">on_init_reset</td><td>If true, the IO extender will be reset on init. This will put the IO extender in a known state, but will delete any previous configurations, even from other drivers.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>DRV_EXT_GPIO_STATUS_CODE_SUCCESS If the call was successful. </dd>
<dd>
Other codes from the underlying driver. </dd></dl>

</div>
</div>
<a id="ga4ab9ec184388565f5ff61997ffbba75d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga4ab9ec184388565f5ff61997ffbba75d">&#9670;&nbsp;</a></span>drv_ext_gpio_pin_clear()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t drv_ext_gpio_pin_clear </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>pin_number</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Function for clearing a GPIO pin. </p>
<dl class="section note"><dt>Note</dt><dd>The pin must be configured as an output for this function to have any effect.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">pin_number</td><td>The pin number (0-DRV_EXT_GPIO_PIN_HIGHEST_ID) to clear.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>DRV_EXT_GPIO_STATUS_CODE_SUCCESS If the call was successful. </dd>
<dd>
DRV_EXT_GPIO_STATUS_CODE_INVALID_PIN Pin number not available. </dd>
<dd>
Other codes from the underlying driver. </dd></dl>

</div>
</div>
<a id="gad57e9d2117b6e2e6c3bd0db939258e7f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gad57e9d2117b6e2e6c3bd0db939258e7f">&#9670;&nbsp;</a></span>drv_ext_gpio_pin_dir_modify()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t drv_ext_gpio_pin_dir_modify </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>pin_number</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__gpio__ext__driver.html#ga4e01a961018e2bbc8f4d194ddafefc32">drv_ext_gpio_pin_dir_t</a>&#160;</td>
          <td class="paramname"><em>direction</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Function for setting the direction of a GPIO pin. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">pin_number</td><td>The pin number (allowed values 0-DRV_EXT_GPIO_PIN_HIGHEST_ID). </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">direction</td><td>The direction.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>DRV_EXT_GPIO_STATUS_CODE_SUCCESS If the call was successful. </dd>
<dd>
DRV_EXT_GPIO_STATUS_CODE_INVALID_PARAM Invalid parameters supplied. </dd>
<dd>
DRV_EXT_GPIO_STATUS_CODE_INVALID_PIN Pin number not available. </dd>
<dd>
Other codes from the underlying driver. </dd></dl>

</div>
</div>
<a id="ga44386cb460d7c515406c719470ca0084"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga44386cb460d7c515406c719470ca0084">&#9670;&nbsp;</a></span>drv_ext_gpio_pin_drive_type_modify()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t drv_ext_gpio_pin_drive_type_modify </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>pin_number</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__gpio__ext__driver.html#ga298fc5e2bd579d41df46fbe95c7e3f70">drv_ext_gpio_pin_drive_type_t</a>&#160;</td>
          <td class="paramname"><em>drive_type</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Function for setting the drive type a given GPIO pin. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">pin_number</td><td>The pin number (allowed values 0-DRV_EXT_GPIO_PIN_HIGHEST_ID). </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">drive_type</td><td>Pin drive: push-pull or open drain.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>DRV_EXT_GPIO_STATUS_CODE_SUCCESS If the call was successful. </dd>
<dd>
DRV_EXT_GPIO_STATUS_CODE_INVALID_PARAM Invalid parameters supplied. </dd>
<dd>
DRV_EXT_GPIO_STATUS_CODE_INVALID_PIN Pin number not available. </dd>
<dd>
Other codes from the underlying driver. </dd></dl>

</div>
</div>
<a id="ga611205353ef04cb150f45b29ee6bb3ff"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga611205353ef04cb150f45b29ee6bb3ff">&#9670;&nbsp;</a></span>drv_ext_gpio_pin_input_buffer_modify()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t drv_ext_gpio_pin_input_buffer_modify </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>pin_number</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__gpio__ext__driver.html#gaab05fba3b092c125be6ebddbb311fac5">drv_ext_gpio_pin_input_buf_t</a>&#160;</td>
          <td class="paramname"><em>input_buf</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Function for enabling and disabling the input buffer. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">pin_number</td><td>The pin number (allowed values 0-DRV_EXT_GPIO_PIN_HIGHEST_ID). </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">input_buf</td><td>Disabled or enabled.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>DRV_EXT_GPIO_STATUS_CODE_SUCCESS If the call was successful. </dd>
<dd>
DRV_EXT_GPIO_STATUS_CODE_INVALID_PARAM Invalid parameters supplied. </dd>
<dd>
DRV_EXT_GPIO_STATUS_CODE_INVALID_PIN Pin number not available. </dd>
<dd>
Other codes from the underlying driver. </dd></dl>

</div>
</div>
<a id="ga6fa5f94c6367374e891905663f9bb0d6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga6fa5f94c6367374e891905663f9bb0d6">&#9670;&nbsp;</a></span>drv_ext_gpio_pin_read()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t drv_ext_gpio_pin_read </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>pin_number</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t *const&#160;</td>
          <td class="paramname"><em>p_pin</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Function for reading the input level of a GPIO pin. </p>
<dl class="section note"><dt>Note</dt><dd>The pin must have input connected for the value returned from this function to be valid.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">pin_number</td><td>The pin number (0-DRV_EXT_GPIO_PIN_HIGHEST_ID) to read. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">p_pin</td><td>Pin value. </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">0</td><td>if the pin input level is low. </td></tr>
    <tr><td class="paramname">1</td><td>if the pin input level is high. </td></tr>
    <tr><td class="paramname">&gt;</td><td>1 should never occur.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>DRV_EXT_GPIO_STATUS_CODE_SUCCESS If the call was successful. </dd>
<dd>
DRV_EXT_GPIO_STATUS_CODE_INVALID_PIN Pin number not available. </dd>
<dd>
Other codes from the underlying driver. </dd></dl>

</div>
</div>
<a id="ga8ca1b3898f246858846a5442a53cf795"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga8ca1b3898f246858846a5442a53cf795">&#9670;&nbsp;</a></span>drv_ext_gpio_pin_set()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t drv_ext_gpio_pin_set </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>pin_number</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Function for setting a GPIO pin. </p>
<dl class="section note"><dt>Note</dt><dd>The pin must be configured as an output for this function to have any effect.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">pin_number</td><td>The pin number (0-DRV_EXT_GPIO_PIN_HIGHEST_ID) to set.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>DRV_EXT_GPIO_STATUS_CODE_SUCCESS If the call was successful. </dd>
<dd>
DRV_EXT_GPIO_STATUS_CODE_INVALID_PIN Pin number not available. </dd>
<dd>
Other codes from the underlying driver. </dd></dl>

</div>
</div>
<a id="ga54109e128b516751b40c06362bbf4df5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga54109e128b516751b40c06362bbf4df5">&#9670;&nbsp;</a></span>drv_ext_gpio_pin_slew_rate_modify()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t drv_ext_gpio_pin_slew_rate_modify </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>pin_number</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__gpio__ext__driver.html#ga013d9b95bc909e15067abb9d7d5a1c2c">drv_ext_gpio_pin_slew_rate_t</a>&#160;</td>
          <td class="paramname"><em>slew_rate</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Function for enabling or disabling increased slew rate for a given GPIO pin. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">pin_number</td><td>The pin number (allowed values 0-DRV_EXT_GPIO_PIN_HIGHEST_ID). </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">slew_rate</td><td>Enabled or disabled.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>DRV_EXT_GPIO_STATUS_CODE_SUCCESS If the call was successful. </dd>
<dd>
DRV_EXT_GPIO_STATUS_CODE_INVALID_PARAM Invalid parameters supplied. </dd>
<dd>
DRV_EXT_GPIO_STATUS_CODE_INVALID_PIN Pin number not available. </dd>
<dd>
Other codes from the underlying driver. </dd></dl>

</div>
</div>
<a id="gac1face07ef83c4788bf996cdaba3682e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gac1face07ef83c4788bf996cdaba3682e">&#9670;&nbsp;</a></span>drv_ext_gpio_pin_toggle()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t drv_ext_gpio_pin_toggle </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>pin_number</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Function for toggling a GPIO pin. </p>
<dl class="section note"><dt>Note</dt><dd>The pin must be configured as an output for this function to have any effect.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">pin_number</td><td>Pin number (0-DRV_EXT_GPIO_PIN_HIGHEST_ID) to toggle.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>DRV_EXT_GPIO_STATUS_CODE_SUCCESS If the call was successful. </dd>
<dd>
DRV_EXT_GPIO_STATUS_CODE_INVALID_PIN Pin number not available. </dd>
<dd>
Other codes from the underlying driver. </dd></dl>

</div>
</div>
<a id="gad0b7b0927890e4de4c9816705d653a92"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gad0b7b0927890e4de4c9816705d653a92">&#9670;&nbsp;</a></span>drv_ext_gpio_pin_write()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t drv_ext_gpio_pin_write </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>pin_number</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Function for writing a value to a GPIO pin. </p>
<dl class="section note"><dt>Note</dt><dd>The pin must be configured as an output for this function to have any effect.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">pin_number</td><td>The pin number (0-DRV_EXT_GPIO_PIN_HIGHEST_ID) to write. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Specifies the value to be written to the pin. <ul>
<li>0 clears the pin. </li>
<li>&gt;=1 sets the pin.</li>
</ul>
</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>DRV_EXT_GPIO_STATUS_CODE_SUCCESS If the call was successful. </dd>
<dd>
DRV_EXT_GPIO_STATUS_CODE_INVALID_PIN Pin number not available. </dd>
<dd>
Other codes from the underlying driver. </dd></dl>

</div>
</div>
<a id="gae583a124772f8ec09e208159175f7b45"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae583a124772f8ec09e208159175f7b45">&#9670;&nbsp;</a></span>drv_ext_gpio_pins_clear()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t drv_ext_gpio_pins_clear </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>pin_mask</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Function for clearing GPIO pins. </p>
<dl class="section note"><dt>Note</dt><dd>Pins must be configured as outputs for this function to have any effect.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">pin_mask</td><td>Pins to clear.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>DRV_EXT_GPIO_STATUS_CODE_SUCCESS If the call was successful. </dd>
<dd>
DRV_EXT_GPIO_STATUS_CODE_INVALID_PIN Pin number not available. </dd>
<dd>
Other codes from the underlying driver. </dd></dl>

</div>
</div>
<a id="gaec15416078c5485936252cc49dd4607c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaec15416078c5485936252cc49dd4607c">&#9670;&nbsp;</a></span>drv_ext_gpio_pins_read()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t drv_ext_gpio_pins_read </td>
          <td>(</td>
          <td class="paramtype">uint32_t *const&#160;</td>
          <td class="paramname"><em>p_pins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Function for reading the input level of all GPIO pins. </p>
<dl class="section note"><dt>Note</dt><dd>The pins must have input connected for the value returned from this function to be valid. </dd>
<dd>
The most significant 16 bits will always be zero, due to 16 pins on the IO extender.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">p_pins</td><td>State of all pins.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>DRV_EXT_GPIO_STATUS_CODE_SUCCESS If the call was successful. </dd>
<dd>
DRV_EXT_GPIO_STATUS_CODE_INVALID_PIN Pin number not available. </dd>
<dd>
Other codes from the underlying driver. </dd></dl>

</div>
</div>
<a id="gae77caa26e459b01f7c1d8772363e18c7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae77caa26e459b01f7c1d8772363e18c7">&#9670;&nbsp;</a></span>drv_ext_gpio_pins_set()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t drv_ext_gpio_pins_set </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>pin_mask</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Function for setting GPIO pins. </p>
<dl class="section note"><dt>Note</dt><dd>Pins must be configured as outputs for this function to have any effect.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">pin_mask</td><td>Specifies the pins to set.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>DRV_EXT_GPIO_STATUS_CODE_SUCCESS If the call was successful. </dd>
<dd>
DRV_EXT_GPIO_STATUS_CODE_INVALID_PIN Pin number not available. </dd>
<dd>
Other codes from the underlying driver. </dd></dl>

</div>
</div>
<a id="ga47ef1db9236ed937309879823e7c074f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga47ef1db9236ed937309879823e7c074f">&#9670;&nbsp;</a></span>drv_ext_gpio_pins_toggle()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t drv_ext_gpio_pins_toggle </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>pin_mask</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Function for toggling GPIO pins. </p>
<dl class="section note"><dt>Note</dt><dd>Pins must be configured as outputs for this function to have any effect.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">pin_mask</td><td>Pins to toggle.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>DRV_EXT_GPIO_STATUS_CODE_SUCCESS If the call was successful. </dd>
<dd>
DRV_EXT_GPIO_STATUS_CODE_INVALID_PIN Pin number not available. </dd>
<dd>
Other codes from the underlying driver. </dd></dl>

</div>
</div>
<a id="gacdecb362e6e4b89cdf53b10451772e08"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gacdecb362e6e4b89cdf53b10451772e08">&#9670;&nbsp;</a></span>drv_ext_gpio_reg_data_init()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t drv_ext_gpio_reg_data_init </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>data</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Function for setting all the RegData registers at the same time. </p>
<dl class="section note"><dt>Note</dt><dd>When reading RegData from the IO extender, it reads the data seen at the IOs (if the input buffer is enabled) independent of IO configured direction. Writing changes the value of RegData. As some functions in drv_sx1509 reads a register and does not write back if there is no apparant change this may cause unintended effects for RegData. This function writes to RegData regardless of previous contents and sets all bits in this function. The feature is valuable on IO extender initialization.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The value to be written to the RegData regsiters. (Max 2^DRV_EXT_GPIO_NUM_PINS_TOTAL) - 1</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>DRV_EXT_GPIO_STATUS_CODE_SUCCESS If the call was successful. </dd>
<dd>
DRV_EXT_GPIO_STATUS_CODE_INVALID_PIN Pin value is too large. </dd>
<dd>
Other codes from the underlying driver. </dd></dl>

</div>
</div>
<a id="gaba8228cfe403cbc7e4bd2a3fe3fb7c1e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaba8228cfe403cbc7e4bd2a3fe3fb7c1e">&#9670;&nbsp;</a></span>drv_ext_gpio_reset()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t drv_ext_gpio_reset </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Function for resetting all the registers of the GPIO extender to their default values. </p>
<dl class="section note"><dt>Note</dt><dd>This reset applies to all registers, regardless if they were set by another driver outside of drv_ext_gpio.</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>DRV_EXT_GPIO_STATUS_CODE_SUCCESS If the call was successful. </dd>
<dd>
Other codes from the underlying driver. </dd></dl>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<div id="nav-path" class="topicfooter">
<a href="mailto:docfeedback@nordicsemi.no?subject=Documentation%20feedback" id="maillink">Documentation feedback</a> | <a href="https://devzone.nordicsemi.com/questions/" target="_blank">Developer Zone</a> | <a href="http://response.nordicsemi.com/subscribe-to-our-newsletters" target="_blank">Subscribe</a> | Updated <span id="date"/>
<script>
var date = new Date("Thu Feb 7 2019" + " UTC");
document.getElementById("date").innerHTML = date.toJSON().slice(0, 10);
var url=window.location.href.split("?")[0];
var filename=url.substring(url.lastIndexOf('/')+1);
document.getElementById("maillink").href = "mailto:docfeedback@nordicsemi.no?subject=Documentation%20feedback"+decodeURIComponent("%26")+"body=File%20name%3A%20"+encodeURIComponent(filename);
</script>
</div>
</body>
</html>
